home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Main.bin / TypeArchiver.java < prev    next >
Text File  |  1998-09-08  |  2KB  |  103 lines

  1. package com.symantec.itools.tools.archive;
  2.  
  3.  
  4. import java.util.Enumeration;
  5. import com.symantec.itools.beans.EventBroadcaster;
  6.  
  7.  
  8. /**
  9.  * @author Symantec Internet Tools Division
  10.  * @version 1.0
  11.  * @since VCafe 3.0
  12.  */
  13.  
  14. public abstract class TypeArchiver
  15. {
  16.  
  17.     /**
  18.      * @since VCafe 3.0
  19.      */
  20.     protected final boolean verbose;
  21.  
  22.     /**
  23.      * @since VCafe 3.0
  24.      */
  25.     
  26.     protected EventBroadcaster eventBroadcaster;
  27.  
  28.     /**
  29.      * @since VCafe 3.0
  30.      */
  31.     protected Options          options;        
  32.  
  33.     {
  34.         eventBroadcaster = new EventBroadcaster();
  35.     }
  36.  
  37.     protected TypeArchiver(Options opts)
  38.     {
  39.         options = opts;
  40.         
  41.         for(Enumeration e = opts.getListeners(); e.hasMoreElements();)
  42.         {
  43.             addArchiverListener((ArchiverListener)e.nextElement());
  44.         }
  45.     
  46.         verbose = options.isVerbose();
  47.     }
  48.  
  49.     /**
  50.      * @param listener TODO
  51.      * @since VCafe 3.0
  52.      */
  53.     
  54.     public synchronized void addArchiverListener(ArchiverListener listener)
  55.     {
  56.         eventBroadcaster.addListener(listener, true);
  57.     }
  58.  
  59.     /**
  60.      * @param listener TODO
  61.      * @param all TODO
  62.      * @since VCafe 3.0
  63.      */
  64.     
  65.     public synchronized void removeArchiverListener(ArchiverListener listener, boolean all)
  66.     {
  67.         eventBroadcaster.removeListener(listener, false);
  68.     }
  69.  
  70.     /**
  71.      * @param entry TODO
  72.      * @since VCafe 3.0
  73.      */
  74.     
  75.     protected void fireStartEntryAdd(String entry)
  76.     {
  77.         eventBroadcaster.fireEvent(new ArchiverEvent(this, entry), "startEntryAdd");
  78.     }
  79.  
  80.     /**
  81.      * @param entry TODO
  82.      * @since VCafe 3.0
  83.      */
  84.     
  85.     protected void fireFinishEntryAdd(String entry)
  86.     {
  87.         eventBroadcaster.fireEvent(new ArchiverEvent(this, entry), "archiveCreated");
  88.     }
  89.  
  90.     /**
  91.      * @param errorMsg TODO
  92.      * @since VCafe 3.0
  93.      */
  94.     
  95.     public abstract boolean create(StringBuffer errorMsg);
  96.  
  97.     /**
  98.      * @since VCafe 3.0
  99.      */
  100.     public abstract void cancel();
  101. }
  102.     
  103.